package helloworld;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;
import org.junit.Test;
import util.ConnectionUtil;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * @program: rabbitmq-demo1
 * @description: 生产者
 * @author: luolidong
 * @create: 2021-06-14 21:42
 * @version: 1.0
 */
public class Provider {
    @Test
    public void sendMsg() throws IOException, TimeoutException {
        Connection connection = ConnectionUtil.createConnection();
//        创建队列通道
        Channel channel = connection.createChannel();
//        队列声明
//        1.队列名称 绑定通道
//        2.持久化，重新启动队列不丢失，但消息会丢失
//        3.独占
//        4.用完自动删除队列，还在连接不删除
//        5.其他参数
        channel.queueDeclare("queue3", true, false, true, null);
//        发送消息
//        1.交换机名称
//        2.队列名称
//        3.MessageProperties.PERSISTENT_TEXT_PLAIN 重启后 消息持久化设置
//        4.要发送的消息
        channel.basicPublish("", "queue3",
                MessageProperties.PERSISTENT_TEXT_PLAIN,"hello rabbitmq1".getBytes());
//        关闭
        ConnectionUtil.closeConnectionChannel(channel, connection);
    }
}
